<?php
namespace app\common\controller;

use think\Cache;
use think\Controller;
use think\Db;
use think\Session;

class HomeBase extends Controller
{
    protected function _initialize()
    {
        parent::_initialize();
        $this->getSystem();
        $this->getLink();
        $this->getNavCatTree();
        $this->setCache();
//        $this->getAd();
        
        //发布预发布的文章
//        $this->pushArticle();
        
    }

    /**
     * 获取站点信息
     */
    protected function getSystem()
    {
        if (Cache::has('site_config')) {
            $site_config = Cache::get('site_config');
        } else {
            $site_config = Db::name('system')->field('value')->where('name', 'site_config')->find();
            $site_config = unserialize($site_config['value']);
            Cache::set('site_config', $site_config);
        }

        
        //是否开启关闭网站
        if($site_config['site_miaosu']){
            die($site_config['site_miaosu']);
        }
                
        //系统配置
        $site_config['hot_keyword'] = explode('|', $site_config['hot_keyword']);
        $this->assign('site_config',$site_config);
    }
    
    /**
     * 获取友情链接
     * @return type
     */
    public function getLink () {
        $link = Db::name('Link')->field('id,name,link')->where(['status'=>1])->order('sort asc')->select();
        $this->assign('link',$link);
    }

    
     /**
     * 构造两级导航
     * @return type
     */
    public function getNavCatTree() {
        // 取出顶级导航
        $data = $nav = Db::name('category')->field('id,name,pingying')->where(['is_nav'=>1,'pid'=>0])->order('sort asc')->select();
        if ($data) {
            // 循环每个顶级取二级
            foreach ($data as $k => $v) {
                $data[$k]['children'] = Db::name('category')->field('id,name,pingying')->where(['pid'=>$v['id'],'is_nav'=>1])->order('sort asc')->select();
            }
            
            $this->assign('nav',$data);
        }
    }
    
     /**
     * 设置缓存
     */
    private function setCache () {
        
        //分类表信息
        if(!Cache::get('Category_list')){
            //获取数据缓存2个小时
            $data = Db::name('Category')->select();
            Cache::set('Category_list',$data,config('CACHE_TIME'));
        }
        
    }
//    
    
    
    /**
     * 获取广告
     */
//    public function getAd () {
//        $ad_list = array_reduce(Db::name('Ad')->alias('a')->join('__AD_POSITION__ p','a.posid=p.id','LEFT')->select(), function(&$newArray,$v){
//            $newArray[$v['name']] = $v;
//            return $newArray;
//        });
//        
//        //去掉过期的广告
//        $time = time();
//        if($ad_list){
//            foreach ($ad_list as $k=>$v){
//                if($v['end_time']){
//                    if($time >= $v['end_time']){
//                        unset($ad_list[$k]);
//                    }
//                }
//            }
//        }
//        
//        $this->assign('ad_list',$ad_list);
//    }
    
    
    /**
     * 发布预发布的文章
     */
//    public function pushArticle () {
//        //获取没有发布的文章
//        $article = Db::name('Article')->where(['take_publish_time'=>['neq',0],'status'=>0])->select();
//        $time = time();
//        
//        //达到条件发布文章
//        if($article){
//            foreach ($article as $k=>$v){
//                if($time>$v['take_publish_time']) {
//                    Db::name('Article')->where(['id'=>$v['id']])->update(['status'=>1,'take_publish_time'=>0,'publish_time'=>$v['take_publish_time']]);
//                }
//            }
//        }
//    }
    
    /**
     * 自动登录
     */
//    public function autoLogin () {
//        if (!Session::get('user_info')){
//           // 如果用户没有登录，就直接从cookie中取出用户名密码直接登录
//            if (cookie('username') && cookie('password')) {
//                $des_key = 'Zhu';
//                $user_info = array();
//                $user_info['username'] = trim(decrypt(cookie('username'), $des_key));
//                $user_info['password'] = trim(decrypt(cookie('password'), $des_key));
//
//                if($this->checkLogin($user_info) == 2){
//                    Session::delete('num');
//                    $this->redirect('user/index');
//                }
//            }else{
//                Session::set('num',1);
//                $this->redirect('login/index');
//            }
//        }else{
//            $this->redirect('user/index');
//        }
//    }
    
    /**
     * 验证用户名密码
     * @return boolean
     */
//    public function checkLogin($data) {
//        $password = $data['password'];
//        $user_info = Db::name('User')->where("username='{$data['username']}'")->find();
//
//        if ($user_info) {
//            $len = strlen($password);
//            if ($user_info['password'] == md5($password)) {
//                if ($user_info['status'] == 2) {
//                    if($this->request->isAjax()){
//                        die(handleResult(0, '你的账号已被禁用'));
//                    }else{
//                        die('你的账号已被禁用');
//                    }
//                }
//                createSession($user_info);
//                return 2;
//            }
//            return 1;
//        }
//        return 0;
//    }
    
    
    
    
    
    
}